package com.bdqn.mybaitsxml.Mapper;

import com.bdqn.mybaitsxml.pojo.SysUser;
import org.apache.catalina.User;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface UserMapper {
//    public void insert(SysUser sysUser);
//    public void delete(Long id);
//    public void update(SysUser sysUser);
//    public User get(Long id);
//    public List<User>findAll();


    @Insert("INSERT INTO sys_user(usr_name, usr_password, usr_role_id, usr_flag) VALUES (#{usrName}, #{usrPassword}, #{usrRoleId}, #{usrFlag})")
    void insert(SysUser user);

    @Delete("DELETE FROM sys_user WHERE usr_id = #{id}")
    void delete(Long id);

    @Update("<script>UPDATE sys_user <set> <if test=\"usrName != null\">usr_name=#{usrName},</if> <if test=\"usrPassword != null\">usr_password=#{usrPassword},</if> <if test=\"usrRoleId != null\">usr_role_id=#{usrRoleId},</if> <if test=\"usrFlag != null\">usr_flag=#{usrFlag},</if> </set> WHERE usr_id = #{usrId}</script>")
    void update(SysUser user);

    @Select("SELECT usr_id, usr_name, usr_password, usr_role_id, usr_flag FROM sys_user WHERE usr_id = #{id}")
    @Results({@Result(column = "usr_id", property = "usrId"), @Result(column = "usr_name", property = "usrName"), @Result(column = "usr_password", property = "usrPassword"), @Result(column = "usr_role_id", property = "usrRoleId"), @Result(column = "usr_flag", property = "usrFlag")})
    SysUser get(Long id);


    @Select("SELECT usr_id, usr_name, usr_password, usr_role_id, usr_flag FROM sys_user")
    @Results({@Result(column = "usr_id", property = "usrId"), @Result(column = "usr_name", property = "usrName"), @Result(column = "usr_password", property = "usrPassword"), @Result(column = "usr_role_id", property = "usrRoleId"), @Result(column = "usr_flag", property = "usrFlag")})
    List<SysUser> findAll();
}
